package com.srp.blockchain.config.exception;

/**
 * @author teddy
 */
public enum ExceptionCode {
    /****常见错误***/
    //失败
    FAIL(400),
    /* 未知失败 */
    COMMON_FAIL(999),
    //未认证（签名错误）
    UNAUTHORIZED(401),
    //没有登录
    NO_LOGIN(402),
    //没有权限
    NO_PERMISSION(403),
    //用户状态异常、公司状态异常、产品状态异常
    STATE_ERROR(406),
    //服务器内部错误
    INTERNAL_SERVER_ERROR(500),
    //参数错误
    PARAMETER_ERROR(10001),
    //账号错误
    ACCOUNT_ERROR(20001),

    /****数据库错误***/
    // 数据库异常
    DB_OPERATION_ERROR(30000),

    /* 参数错误：1000～1999 */
    //参数无效
    PARAM_NOT_VALID(1001),
    //参数为空
    PARAM_IS_BLANK(1002),
    //参数类型错误
    PARAM_TYPE_ERROR(1003),
    //参数缺失
    PARAM_NOT_COMPLETE(1004),

    /* 用户错误 */
    //用户未登录
    USER_NOT_LOGIN(2001),
    //账号已过期
    USER_ACCOUNT_EXPIRED(2002),
    //密码错误
    USER_CREDENTIALS_ERROR(2003),
    //密码过期
    USER_CREDENTIALS_EXPIRED(2004),
    //账号不可用
    USER_ACCOUNT_DISABLE(2005),
    //账号被锁定
    USER_ACCOUNT_LOCKED(2006),
    //账号不存在
    USER_ACCOUNT_NOT_EXIST(2007),
    //账号已存在
    USER_ACCOUNT_ALREADY_EXIST(2008),
    //账号下线
    USER_ACCOUNT_USE_BY_OTHERS(2009),
    //帐号不存在
    USER_ACCOUNT_NOT_FOUND(2010),

    /***文件错误***/
    FILE_NOT_FOUND(2010),
    FILE_ERROR(2011),

    /***合同错误***/
    SIGN_FAIL(2020);

    public int code;

    ExceptionCode(int code) {
        this.code = code;
    }


    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

}